DEPARTMENT:
|
|
Computer
Science
|
SUBJECT CODE/ COURSE TITLE: |
|
CS 371/ Operating System and Architecture I |
CLASS HOURS: |
|
4 Class Hours per Week |
CREDITS: |
|
4 |
PREREQUISTES: |
|
CS 232 and CS 241 |
TEXTBOOK: |
|
A. Silberchatz, G. Gayne, & P. Galvin |
Operating System Concepts, 9th Edition | John Wiley & Sons |
2013 | ISBN: 97801118063330. |
REFERENCE: |
|
Internet Computer Magazines and Journals |
SEMESTER: |
|
Fall 2013 |
PREPARED BY: |
|
Dr. A. Joseph |
Course
Description: Review of computer systems basic organization and an
overview of the major components and structures of operating systems. Some
topics covered are process management including processes, threads, process
synchronization, CPU scheduling, Java-thread programming, and deadlocks as well
as practical examples of different operating systems such as Windows and
Unix/Linux. Other topics include memory management inclusive of main and
virtual memory; file system interface and implementation, and protection and
security.
Professor:
|
|
Dr. A. Joseph
|
Office:
|
|
163 Williams Street, 2nd floor, Room 231
|
Telephone: |
|
212 346 1492 |
Email: |
|
|
Office Hours: |
|
Tuesday: 9:00am – 12:00am & 2:30pm -- 4:30pm |
Final examination:
|
|
35% (35%)
|
In-class examinations (5 – 25/30 minutes exams ) |
|
40% (40%)
[best 4 of 5] |
Team/class Preparation and participation: Coordinator
(document): Journal: |
|
|
Homework: |
|
5%
(5%) (No late homework without
permission) |
Project/Report & Presentation: |
|
20% (20%)
(4% for presentation) |
Group members’ average performance (bonus): Above 86%: 76% -- 86%: 65% -- 75%: Below 65%: |
|
|
Extra credit assignment (optional): Note: Only for
students who are otherwise fulfilling all of the other course requirements. This
is not intended to be a substitute for any of the regular class assignments. |
|
10% (Due by week 12 and no later) |
Note 1: Final exam is
cumulative.
Note 3: Non-team member
students are assigned grades based on the policy outlined within the
parentheses.
Note 4: The final exam
will consist of two parts: one is common to New York and Pleasantville and the
other is not.
Final grade Determination
Above 92%
|
|
A
|
90% -- 92% |
|
A- |
87% -- 89% |
|
B+ |
83% -- 86% |
|
B |
80% -- 82% |
|
B- |
77% --79% |
|
C+ |
70% -- 76% |
|
C |
65% -- 69% |
|
D+ |
60% -- 64% |
|
D |
Below 60% |
|
F |
Note: Grades are
computed to the nearest whole number. |
Learning Objectives’ Outcomes
Learning outcomes and major topics [assessed student
outcomes: a, i, j] reflect what students should be able to do after taking this
course:
1)
Explain the objectives and key functions of modern operating systems
from the user and system views respectively [i]
2)
Explain how the computing complexity is managed by the layered
abstractions of computer architecture, operating system core, system programs,
and application programs [a]
3)
Understand how the key architectural features like interrupt, layered
memory system, and dual mode operation used to implement multiprogramming,
time-sharing, paging and segmentation, and synchronization [i]
4)
Explain how program’s referential locality property supports the modern
computer system hierarchical memory design [a]
5)
Understand the design tradeoffs including processes versus threads,
synchronous versus asynchronous, copy-on-write versus demand paging techniques
inclusive of frame allocation and page replacement algorithms, avoidance versus
detection, and centralized versus distributed [j]
6)
Understand the privacy and security vulnerabilities of operating
systems, and how to manage and secure them [i]
7)
Explain, with the help of examples, the implementation and relative
benefits of virtual machines [i]
8)
Show an understanding of file system design and tradeoffs including
access methods, file and directory structures, file attributes and operations, file
sharing, and directory implementation and allocation methods [j]
9)
Demonstrate understanding of CPU scheduling algorithms and evaluation
criteria for selecting a particular algorithm, including the criteria used for
comparing these algorithms [a]
10)
Write programs with multiple threads, and understand process and thread
life cycles and management [i]
11)
Analyze algorithms with synchronized critical regions, and demonstrate
how they are implemented and why improper synchronization could lead to
deadlocks [j]
12)
Write simple socket-layer client-server programs [i].
Tentative
Examination Schedule:
Course Section |
In-class Examinations
Dates |
Project
Submission & Presentation Date |
Final Exam |
CS 371 (CRN: 71830) |
9/26, 10/3, 10/24,11/14,
& 12/5/2013 |
December 3, 2013 |
December 17, 2013 |
Class
meeting Schedule
Course Section |
Day, Time, and
Location of Class Meetings |
First and Last
Day of Class Meetings |
CS 371 (CRN: 71830) |
Tuesday & Thursday: 12:15am – 2:15pm 163 William Street, Room 1525 |
Classes begin: Sept.4, 2013 Classes end: Dec. 21, 2013 |
Academic Integrity: Please visit http://www.pace.edu/seidenberg/seidenberg-current-students/academic-information-and-policies to review Seidenberg Academic Integrity Policy
Note 1: To facilitate
and promote learning, you are encouraged to download the lectures from
Blackboard and study them along with the material in the textbook. All lessons
will be posted on Blackboard at least a week in advance. Use the textbook to
complement and perhaps, at times, expand and elucidate ideas presented in the
lecture notes. Note that mere reading is
not studying.
Note 2: Some lessons
may be presented in a storytelling format while others will highlight
inquiry-based lecture-discussion and problem based learning. However, the
course will centrally focus on problem-solving in a collaborative learning
setting where you will be a member of a team. There will be opportunities to practice problem solving and the
beginning of and throughout each lesson. The solutions to the homework problems
will be provided to you in class as a means to explain the course concepts or
through Blackboard postings. To get the most out of the course, you are
encouraged to follow and keep up with the reading assignments and genuinely
attempt each homework problem before coming to class. For those problems you
cannot solve, determine the nature of your difficulty and bring it up in class
or during office hours. The idea is to come to class willing and prepared to
learn as well as ready to ask questions about the course materials and
problems. The mantra of this course is learning,
learning, learning and more learning!
Note 3: In the interest
of learning, it is very important
that you foster an inquisitive mind – do all the required assignments. Failing
to do so may diminish your ability to get the most out of each lesson and the
class. Studying is NOT mere reading of the textbook and class notes and slides, it’s an intimate interaction between you and the information
provided to you in the class notes and
slides and the textbook.
NOTE 4: LEARNING IS AN
ACTIVE PROCESS – IT IS MORE
Note 5: Learning is the central objective of this course; Teaching will facilitate
learning.
Note 6: It is very
important you read and familiarize yourself with SCSIS Statement of Student Responsibilities (see Blackboard).
Note 7: You should devote at least 8 hours per week to prepare for the course – more may be
needed depending on your rate of adequately understanding and mastering the
materials of this course as well as on the grade you desire.
Note 8: You are strongly encouraged to spend an appropriate length of time to
research, develop, and implement the project; during the development and
implementation process seek my help as needed to resolve any issue you may
encounter. Your project should reflect your personal thoughts and understanding
of the assignment and must be built on sound theory that is differentiable from
your personal thoughts.
Note 9: In the interest
of learning, it is very important to
come to class prepared to learn – do all required assignments. Failure to do so
could diminish your ability to get the most out of each lesson and the class.
Remember that learning is action oriented. That is, it is not enough to come to class to listen to what others have to say.
You should come to class prepared to become involve in all aspects of classroom activities because this is action.
Note 10: We are now
living in a global knowledge economy,
which has ushered a new age --the age of
learning. Learning may be defined as a
relatively permanent change in mental associations due to experience or the
relative increase of ability in achieving a target through experience
regardless of the obstacles. In a broader context, learning may be defined as a process of constructing and
transforming experience into knowledge, skills, attitudes, values, emotions, beliefs,
and the senses. Learning is a process of internalizing all experiences
individuals have into the external world and making them part of the individual.
Note 11: To be
successful at learning or anything for that matter, you need the proper attitude
(successful learners’ attitude), self-motivation, and commitment. Successful
learners demonstrate the following characteristics: values, focus, inspiration,
visualization, and reflection.
Note 12: The skills that
are needed to survive in today’s workplace, be a life-long learner, and be an
active citizen are the following: critical thinking and problem solving,
collaboration across networks and leading by influence, agility and
adaptability, initiative and entrepreneurialism, effective oral and written communication,
accessing and analyzing information, and curiosity and imagination.
.
TOPICS COVERED
Weeks |
Topics
|
Homework Assignments
|
|
|
|
1-2 |
Introduction: What
operating system do; computer system organization and architecture; operating
system structure and operations; process, memory, and storage management;
protection and security; kernel data structures; and computing environments
and open-source systems. |
1. Read chapter 1 2. Do problems 1.1; 1.3; 1.5; 1.4; 1.8; 1.10; 1.11; 1.12;.1.13;
1.14; 1.15; 1.18; 1.19; 1.27. |
|
|
|
2-3 |
Operating system structures: Operating
system services; user operating system interface; system calls and their types;
system programs; operating system design, implementation, structure,
debugging, and generation; and system boot. |
1. Read chapter 2 2. Do problems 2.1; 2.2; 2.3; 2.4; 2.5; 2.6; 2.7; 2.8;
2.9; 2.10; 2.11; 2.12; 2.13; 2.15; 2.16; 2.17; 2.19; 2.20; 2.21; 2.22, 2.24. |
|
|
|
4-5 |
Processes: process
concept and scheduling; operations on processes; interprocess communication;
examples of interprocess communication systems; and communication in client
server systems. |
1. Read chapter 3 2. Do problems 3.3; 3.4; 3.5; 3.8; 3.9; 3.18. |
|
|
|
5-6 |
Threads: Multicore programing;
multithreading models; thread libraries; implicit threading; threading issues;
and operating system examples. |
1. Read chapter 4 2. Do problems 4.1; 4.2; 4.3; 4.4; 4.6; 4.7; 4.8; 4.9;
4.10; 4.11; 4.12; 4.18. |
|
|
|
7 |
CPU scheduling: Basic
concepts; scheduling criteria and algorithms; thread, multiprocessor, and real-time
CPU scheduling; algorithm evaluation; and operating system examples |
1. Read chapter 6 2. Do problems 6.1; 6.2; 6.3; 6.4; 6.5; 6.6; 6.7; 6.8; 6.9;
6.10; 6.11; 6.12; 6.13; 6.16; 6.18. |
|
|
|
8-9 |
Process synchronization and deadlocks: Critical
section problem; Peterson’s solution; synchronization hardware; mutex locks; semaphores;
synchronization problems; monitors; system model; deadlock characterization;
methods of handling deadlock; and deadlock detection and avoidance. |
1. Read chapter 5 and 7 2. Do problems 5.1; 5.3; 5.4; 5.5; 5.6; 5.10; 5.11; 5.12;
7.1; 7.2; 7.11; 7.12; 7.17. |
|
|
|
9-10 |
Main and virtual memory management: Swapping; Contiguous
memory allocation; paging and demand paging; page table structure;
segmentation; copy-on-write; page replacement; allocating frames and kernel
memory; thrashing. |
1. Read chapters 8 and 9 2. Do problems 8.1; 8.2; 8.3; 8.4; 8.6; 8.11; 8.12;
8.13; 8.17; 9.1; 9.4; 9.8; 9.16. |
|
|
|
10-11 |
File system interface and
implementation: File concept; access methods; file system,
directory, and disk structures; file system and directory implementations;
file sharing; protection; allocation methods; and free space management. |
1. Read chapters 11 and 12 2. Do problems 11.1; 11.2; 11.3; 11.5; 11.9; 11.11; 12.2;
12.3; 12.4; 12.14. |
|
|
|
11-12 |
Protection and security: protection goals,
principles, and domain; access matrix and its implementation; access control;
security problem; program threats; and system and network threats. |
1. Read
Chapter 14 and 15 2. Do
problems 14.2; 14.3; 14.5; 14.9; 14.13; 14.16; 14.19; 14.23; 14.24; 15.1. |
13 |
Virtual Machines: Overview;
benefits and features; building block; and types of virtual machines and
implementations. Project presentation and submission: project
presented to class and submitted. |
|
|
|
|
14 |
Final
Examination. |
|
|
|
|
|
|
|
Note 1: This course
is structured around freely formed small collaborative teams in a cooperative
learning environment. Students are encouraged to work together in their
respective teams to form effective and productive teams that share the
learning experience within the context of the course, help each other
overcome learning difficulties, spend time to get to know each other, and
spend time each week to discuss and help one another with the course work
(content and assignments). Each team member is responsible for the completion
and submission of each assignment. Each team member will be individually
graded. |
||
|
||
Note 2: During the
first class session, student background information may be collected to get a
sense of the diversity of student population, educational background, and
learning style. An assessment test may be given to determine students’
prerequisite knowledge of the subject. |
||
|
||
Team project: Students in
small teams of two to four persons will participate in a research project
supported by a technical report. The research topic will be on an emerging
area of interest to an organization or the research community. In this
project, teams will conduct research to assist in the determination of the
solution to the research problem. They will demonstrate their knowledge and
understanding of how research is conducted and the significance of the
problem solution. The project grade to individual students within a team will
be based upon their personal involvement and level of participation in the
project as determined by their teammates and the professor. |
||
|
||
Web support: This course
may be supported with most or all of the following Blackboard postings:
lesson questions, lessons (MS PowerPoint), instructions and guidelines
pertaining to the course, operating system and architecture related news,
team and class discussions boards, correspondence about the course, homework
solutions, examination grades, and miscellaneous course related information
and activities. |
||
|
||
Supplementary materials: Handouts in
class or web postings of current events and issues affecting information
security and risk analysis/assessment.
Some books that may be helpful to the course will be posted on
Blackboard. |
||
|
||
In class activity and participation: Students are encouraged to bring to class articles on current newsworthy events in information security, risk analysis/assessment and management and related news to share with the class. Students are welcome to inform the class on these events and their significance to operating system and architecture. |
Students are strongly encouraged to download
relevant posted lessons from Blackboard and review them. They are encouraged
to ask questions about these lessons in class. Effort may be made to present some lessons using the
storytelling format supported with subsequent discussion and elaboration on
the central themes of the respective lessons. The key elements of a story are the following:
causality, conflict, complication, and character. |
Collaborative teams are designed to function outside
of the classroom. Collaborative team activities will be reinforced inside the
class during the lessons. Teams are encouraged to function cohesively and to
participate in all class activities.
The following excerpts about collaborative learning
are from research documents:
·
In the university
environment, educational success and
social adjustments depend primarily on
the availability and effectiveness of developmental academic support systems.
·
Most organized learning occurs in some kind of team team characteristics
and team processes significantly contribute to success or failure in the
classroom and directly [affect] the quality and quantity of learning within the
team.
·
Team work invariably produces tensions that are
normally absent, unnoticed, or suppressed in traditional classes. Students bring with them a variety of
personality types, cognitive styles, expectations about their own role in the
classroom and their relationship to the teacher, peers, and the subject matter
of the course.
·
Collaborative
learning involves both management and decision-making skills to choose among
competing needs. The problems
encountered with collaboration have management, political, competence, and
ethical dimensions
·
The two key underlying principles of the collaborative
pedagogy are that active student involvement is a more powerful learning tool
than the passive attendance and that students working in teams can make for
more effective learning than students acting alone. The favorable outcomes of collaborative
learning include greater conceptual understanding, a heightened ability to
apply concepts, and improved attendance.
Moreover, students become
responsible for their own learning is likely to increase their skills for
coping with ambiguity, uncertainty, and continuous change, all of which are
characteristics of contemporary organizations.
Who creates a new activity in the face of risk and
uncertainty for the purpose of achieving success and growth by identifying opportunities
and putting together the required resources to benefit from them?
Creativity is
the ability to develop new ideas and
to discover new ways to of looking at problems and opportunities
Innovation is
the ability to apply creative solutions to those problems and opportunities to
enhance or to enrich people’s lives.
Each team may be viewed as a small business that is
seeking creative and innovative ways to maximize its product, academic
outcomes or average team grade. A satisfactory product is the break-even team
average grade of 85%. Teams getting average grades of above 85% are
profitable enterprises. |